<?php

namespace app\admin\controller;

use My\Redis;
use think\Controller;
use think\Db;
use think\Cookie;
use think\Session;
use think\Request;


// 登录处理
class Login extends Controller
{


   /**
     * 显示登陆页面
     * @return \think\response\View
     */
    public function index()
    {
        return view();
    }

    /**
     * 登录处理
     * @return \think\response\View
     */
    public function dologin()
    { 
        // 获取用户登录信息
        $Name = $_POST['U_Name'];
        $Pwd = $_POST['U_Pwd'];

        // 是否勾选免登陆
        if (isset($_POST['status'])) {
            $status =  1;
        }else{
            $status =  0;
        }

        // 查询数据库账号信息匹配 
        $data = Db::name('user')->where('name',$Name)->find();
        if (empty($data)) {
            $this->success('账号有误!','/admin/login');
        }
        if ($data['pwd']!==$Pwd) {
             $this->success('密码错误!','/admin/login');
        }
         if(!empty($data)){
            // 成功生成session
            Session::set('name',$data['name']);
            Session::set('id',$data['id']);

            $id = Session::get('id');

            $list = Db::view('node','mname,aname')
            ->view('role_node','nid','node.id=role_node.nid ')
            ->view('user_role','rid','role_node.rid=user_role.rid')
            ->view('user','id','user.id=user_role.uid')
            ->where('id','=',$id)->select();

            // 控制器名转换大写
            foreach ($list as $key => $val) {
                $list[$key]['mname'] = ucfirst($val['mname']);
            }

            $nodelist = array();
            // $nodelist['Index'] = array('index');
            //遍历重新拼装
            foreach($list as $v){
                $nodelist[$v['mname']][] = $v['aname'];
            }

            // 设置获得的控制器和方法 存入session
            Session::set('qx',$nodelist);

            if ($status ==  1) {
                
            }
           
            $this->success('登录成功!','/admin');
        }else{
            // 失败返回登录页面
            $this->error('登录失败!','/admin/login');
        }
    }

    /**
     * 退出系统处理
     * @return \think\response\View
     */
    public function logout()
    {
        Session::clear();
        return $this->error('退出成功,返回登录页',url('/admin/login'));
    }

  
}
